package com.sh.caryr.erp.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.sh.caryr.erp.entity.product.Product;

import java.util.List;

/**
 * <p>
 * 商品表 服务类
 * </p>
 *
 * @author milkeeper
 * @since 2017-11-22
 */
public interface IProductService extends IService<Product> {
    /**
     * 获取商品详细信息
     * 关联 SKU，套件等
     *
     * @param product
     */
    void getProductDetail(Product product);

    /**
     * 单条件,动态查询
     *
     * @param current    第几页
     * @param size       每页大小
     * @param queryField 字段
     * @param queryValue 字段值
     * @param isAccurate 是否精确匹配
     * @param orderBy    排序字段
     * @return
     */
    public List<Product> findProductsDynamic(
            Integer current, Integer size,
            String queryField, String queryValue,
            Boolean isAccurate,
            String orderBy);

    /**
     * 多条件，动态查询
     *
     * @param current 第几页
     * @param size    每页大小
     * @param orderBy 排序字段
     * @return
     */
    public List<Product> findProductsDynamic(Integer current, Integer size, Wrapper wrapper, String orderBy);

    /**
     * 根据id删除商品
     *
     * @param id
     */
    public void deleteProductById(Long id);

    /**
     * 新增产品，关联sku
     *
     * @param product
     */
    public void insertProduct(Product product);

    /**
     * 更新产品，关联sku
     *
     * @param product
     */
    public void updateProduct(Product product);

}
